%%% Doxygen "source comments" for a page about the Snow Dots big picture

% @page picture Snow Dots Big Picture
% @section Overview
% @par
% Snow Dots attempts to span the requirements of psychophysics, from
% hardware interactions through graphical user interfaces.  However,
% spanning the requirements is not the same as solving all psychophysics
% problems or supporting all systems and hardware.  These would be
% distracting, impossible goals!  Hopefully, Snow Dots is organized well
% enough that individual users can customize it to do novel things as
% needed.
% @par
% To that end, Snow Dots uses an extensible, object-oriented design.  It
% defines "Foundataion" classes, which can be configured for a given
% machine.  It also defines classes that "Do Stuff", which carry out
% specific behaviors like computing stimuli, querying hardware, and
% classifying input data.  These can support subclasses which do new,
% custom behaviors.
% @par
% At the hardware level, Snow Dots relies on file access and MEX functions.
% It uses XML files to hold machine-specific configuration data.  It
% includes MEX functions for Ethernet messaging, connecting to USB/HID
% devices, and connecting to some eye trackers.
% @par
% For OpenGL graphics support, Snow Dots relies on an external project
% called <a
% href="http://www.cns.nyu.edu/heegerlab/wiki/doku.php?id=mgl:overview"> MGL</a>
% @par
% At the abstract level, Snow Dots relies on its companion project, the
% <a href="http://tower-of-psych.googlecode.com">Tower of Psych</a> to
% manage program flow and data.  Tower of Psych includes classes that
% "Organize Stuff" as well as graphical interfaces for these classes.
% @par
% Here is a graphical overview of the whole Snow Dots span:
% @par
% @dotfile snow-dots-big-picture.dot
%